package br.com.senac.academicnet.view.turma;

import br.com.senac.academicnet.model.entidades.TurmaVO;
import java.util.ArrayList;
import java.util.List;

import javax.swing.table.AbstractTableModel;

public class TurmaTableModel extends AbstractTableModel{

    /**
	 * 
	 */
	private static final long serialVersionUID = 686322277351101611L;

	@Override
    public int getRowCount() {
        return turmas.size();  
    }

    @Override
    public int getColumnCount() {
        return 2;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        TurmaVO turma = turmas.get(rowIndex);
        if(columnIndex == COL_CODIGO){
            return turma.getCodigo();
        }else if(columnIndex == COL_NOME){
            return turma.getNome();
        }else{
            return "";
        }
    }
    
    
    private static final int COL_CODIGO = 0;  
    private static final int COL_NOME = 1;  
  
    private List<TurmaVO> turmas;         
  
    //Esse é um construtor, que recebe a nossa lista de livros  
    public TurmaTableModel(List<TurmaVO> turmas) {  
          this.turmas = new ArrayList<TurmaVO>(turmas);  
    }   
  
    public String getColumnName(int column) {  
        
        if (column == COL_CODIGO) return "Codigo";  
        if (column == COL_NOME) return "Nome";  
        return ""; 
    }  
  
//    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {  
//        Livro titulo = valores.get(row);  
//        //Vamos alterar o valor da coluna columnIndex na linha rowIndex com o valor aValue passado no parâmetro.  
//        //Note que vc poderia alterar 2 campos ao invés de um só.  
//        if (columnIndex== COL_TITULO) titulo.setTitulo(aValue.toString());  
//        else if (columnIndex== COL_AUTOR) titulo.getAutor().setNome(aValue.toString());  
//    }  
//  
//    public Class<?> getColumnClass(int columnIndex) {  
//        //Qual a classe das nossas colunas? Como estamos exibindo texto, é string.  
//        return String.class;  
//    }  
//      
//    public boolean isCellEditable(int rowIndex, int columnIndex) {  
//        //Indicamos se a célula da rowIndex e da columnIndex é editável. Nossa tabela toda é.  
//        return true;  
//    }  
    //Já que esse tableModel é de livros, vamos fazer um get que retorne um livro inteiro.  
    //Isso elimina a necessidade de chamar o getValueAt() nas telas.   
    public TurmaVO get(int row) {  
        return turmas.get(row);  
    }  
    
}
